package com.gxuwz.service;

import com.gxuwz.entity.Instructor;
import com.gxuwz.entity.vo.PageVo;
import com.gxuwz.result.PageInfo;

import java.util.List;

/**
 * @Description:辅导员服务相关操作的服务接口
 */

public interface InstructorService {
    
    /**
     * @Description:获得辅导员列表
     * @Param:  [com.gxuwz.entity.Instructor, com.gxuwz.result.PageInfo]
     * @Return: com.gxuwz.entity.vo.PageVo
     */
    
    public PageVo getInstructorList(Instructor instructor, PageInfo pageInfo);

    /**
     * @Description:通过学院编号获得一条辅导员记录信息
     * @Param:  [java.lang.String]
     * @Return: com.gxuwz.entity.Instructor
     */
    
    public Instructor getInstructorOne(String depId);

    /**
     * @Description:添加一条辅导员记录信息
     * @Param:  [com.gxuwz.entity.Instructor]
     * @Return: boolean
     */
    
    public boolean addInstructorInfo(Instructor instructor);

    /**
     * @Description:更新一条辅导员记录信息
     * @Param:  [com.gxuwz.entity.Instructor, java.lang.String]
     * @Return: boolean
     */
    
    public boolean updateInstructorInfo(Instructor instructor,String oldId);

    /**
     * @Description:通过辅导员编号删除一条辅导员记录信息
     * @Param:  [java.lang.String]
     * @Return: boolean
     */
    
    public boolean deleteInstructorOne(String instId);

    /**
     * @Description:获得所有的辅导员编号
     * @Param:  []
     * @Return: java.util.List<java.lang.String>
     */
    
    public List<String> selectInstructorIds();

    /**
     * @Description:通过二级学院编号，判断辅导员是否被逻辑删除
     * @Param:  [java.lang.String]
     * @Return: boolean
     */
    
    boolean selectInstructorExist(String depId);

    /**
     * @Description:通过辅导员编号，获得二级学院编号
     * @Param:  [java.lang.String]
     * @Return: java.lang.String
     */
    
    public String getDepIDByInstID(String instID);

    List<String> selectInstructorIdsNoDel();
}
